1. Technical Field of the Invention
This invention is related to digital data network switching fabrics and, more specifically, to a method of simplifying frame forwarding by controlling data frames received from various multi-speed data ports within the switching system.
2. Background of the Art
Congestion management in switching systems is important to ensure lossless data flow between transmitting and receiving network devices. Data flow typically comes in two varieties—smooth and bursty. A smooth traffic source device outputs a constant and predictable load, while bursty data traffic lacks the same type of predictability. An example of bursty traffic is when a user connected to the Internet clicks on a link in order to view a web page or an image. The result is an immediate demand to retrieve the file associated with that link, causing a burst of data traffic on the network. When millions of users are “surfing” the Internet, such data flow control becomes problematic.
Rate-based and credit-based are two “closed-loop” flow control methods which offer a more efficient level of data flow control in networks by providing feedback from the data receiver (or destination) to the data transmitter (or source device). The rate-based technique involves providing feedback from the network to each data source device to cause those source devices to slow-down or speed-up the transfer of data. The credit-based approach involves providing feedback to the data source device of the capability of the destination device to accept additional data before overflowing. The credit-based data source device counts the number of data “frames” sent, and each destination device counts the number of data frames received. Flow control from the source device is accomplished by allocating buffer space for the source device, in the destination device, and then ensuring that no overflow of the allocated buffer space in the destination device occurs by maintaining a non-negative credit balance at the source device. The destination device maintains a count of the number of frames of buffer space allocated to each source device connection and occupied by each source device connection. Periodically, the destination device generates a credit frame and feeds it back to the source device. The credit frame specifies the availability of buffer space for receiving data frames from the source. After receiving the credits, the source device is then eligible to forward some number of data frames to the destination at any available bit rate, and in accordance with the credit limit stipulated in the credit frame.
In practice, a variety of networks (and network devices) associated with a switching fabric operate at different transmission speeds, requiring switching devices to include large buffers in order to handle the potential congestion problems associated with these multi-bandwidth architectures. What is needed is a flow control architecture which reduces the requirement for large buffers and minimizes congestion by allowing source devices to send frames only when the destination device can receive the frames, and by pacing transmission of the frames in a heterogeneous environment at a data rate which coincides more closely to the bandwidth of the corresponding destination device.